// Mask
$("input[name=numero]").setMask({mask: "99999"});
$("input[name=cep]").setMask({mask: "99.999-999"});

$("input[name=telefone]").setMask({mask: "(99) 9999-9999"});
$("input[name=telefone]").keyup(function () {
  var t = $(this),
      n = t.val();
  if (n[1] == "1" && n[2] == "1" && n[5] == "9") {
      t.setMask({
          mask: "(99) 99999-9999"
      })
  } else {
      t.setMask({
          mask: "(99) 9999-9999"
      })
  }
});

/*
* Validacoes
*/
{
    $.validator.addMethod("uniqueUserName", function(value, element) {

        var unique = true,
            my_ajax_script = {"ajaxurl":".\/Ajax?tipo=usuario&acao=consulta"};

        jQuery.ajax({
         url: my_ajax_script.ajaxurl,
         data: ({campo: 'email', valor: value}),
         async: false, 
         success: function(data) {
          unique = data === "true" ? true : false;
         }
        });

        return unique;

      }, "E-mail já cadastrado.");

  // Cadastro Cliente
  $("#form-cadastro").validate({
    rules: {
      nome:     { required: true, minlength: 3 },
      email:    { required: true, email: true, uniqueUserName: true},
      telefone: { required: true, minlength: 6 },
      endereco: { required: true, minlength: 2 },
      senha:    { required: true, minlength: 6},
      senha2:   { required: true, equalTo: '#senha'}
    },
    messages: {
      nome: {
        required: 'Insira um Nome',
        minlength: jQuery.format("Nome com no minimo {0} caracteres")
      },
      email: {
        required: 'Insira um E-mail',
        email: 'Email invalido',
        remote: "E-mail ja esta cadastrado"
      },
      telefone: {
        required: 'Insira um Telefone',
        minlength: jQuery.format("Telefone com no minimo {0} caracteres")
      },
      endereco: {
        required: 'Insira um Endereco',
        minlength: jQuery.format("O Endereco deve ter no minimo {0} caracteres")
      },
      numero: {
        required: 'Insira um numero',
      },        
      
      senha: {
        required: 'Digite uma Senha',
        minlength: jQuery.format("Senha com no minimo {0} caracteres")
      },
      senha2: {
        required: 'Repita a senha',
        equalTo: 'As senhas nao sao iguais'
      }
    },
    errorPlacement: function(error, element) {
      // error.appendTo( $('.extra') );
      // $('.extra').append(error);
    },
    submitHandler: function(form) {
        var form3 = $(form).serializeArray();
        
        $.ajax({
          url: './Ajax?tipo=usuario&acao=cadastro',
          type: 'POST',
          data: form3,
          success: function (data) {
              console.log(data);
              if( data=="true" || data=="cliente" ) {
                  $(form).trigger("reset");
                  window.location.href = './produtos.jsp';
              } else {
                  $("#dialog-alert")
                          .dialog("open")
                          .html("Houve um erro ao fazer o cadastro.");
              }
          },
        });
    }
    // success: function(label) {label.remove()}
  });

  // Login Cliente
  $("#form-login").validate({
    rules: {
      email: {
        required: true,
        email: true
      },
      senha: {
        required: true,
        minlength: 6
      }
    },
    messages: {
      email: {
        required: 'Insira um E-mail',
        email: 'E-mail invalido'
      },
      senha: {
        required: 'Insira a senha',
        minlength: jQuery.format("A Senha deve conter no minimo {0} caracteres")
      }
    },
    submitHandler: function() {
      var form = $('#form-login').serialize();
        
        $.ajax({
          url: './Login',
          type: 'POST',
          data: form,
          success: function (data) {
              console.log(data);
              if (data=='admin') {
                  console.log('Indo para o admin area');
                  window.location.href = './admin';
              }                  
              else if (data=='cliente') {
                  console.log('Logado como CLIENTE');
                  window.location.href = './produtos.jsp';
              }
              else if (data=='false') {
                 $("#dialog-alert")
                          .dialog("open")
                          .html("Login ou Senha incorretos");
              }  else {
                  console.log(data);
              }

          }
        });
    },
    // success: function(label) {label.remove()}
  });
} // end Validacoes;